package org.kairosdb.plugin.carbon; import com.google.inject.AbstractModule; import com.google.inject.Singleton; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Properties; /** Created with IntelliJ IDEA. User: bhawkins Date: 9/30/13 Time: 4:07 PM To change this template use File | Settings | File Templates. */ public class CarbonServerModule extends AbstractModule { public static final Logger logger = LoggerFactory.getLogger(CarbonServerModule.class); public static final String TAG_PARSER_PROPERTY = "kairosdb.carbon.tagparser"; private Properties m_properties; public CarbonServerModule(Properties props) { m_properties = props; } @Override protected void configure() { logger.info("Configuring module CarbonServerModule"); String parserClassProp = m_properties.getProperty(TAG_PARSER_PROPERTY); if (parserClassProp != null) { try { Class<TagParser> parserClass = (Class<TagParser>)getClass().getClassLoader().loadClass(parserClassProp); bind(TagParser.class).to(parserClass).in(Singleton.class); } catch (ClassNotFoundException e) { addError(e); } } else { addError("No classs defined for "+TAG_PARSER_PROPERTY); } bind(CarbonTextServer.class).in(Singleton.class); bind(CarbonPickleServer.class).in(Singleton.class); } }